# t1 = (12, 13, 14, 15)
# t2 = ("acd", "nm")
# # 修改元组元素操作是非法的
# # t1 [0]= 100
# # 链接元组创建一个新的元组，两个数据必须都是元组
# t3 = t1 + t2
# print(t3)


# t1 = (1, 2, 3, 4, 5, [154, 111])
# print(t1)

# del t1
# print(t1)

# n=name
# t=telephone
# e=email
# a=address


# n = input('请输入联系人姓名：')
# t = input('请输入联系人手机号：')
# e = input('请输入电子邮箱：')
# a = input('请输入联系地址：')
# t1 = ("姓名：", n  ,"电话：", t , "邮箱：" ,e ,"地址：",a)
#  print(t1)


# # 创建空列表
# l1 =[]
# print(l1)
# # 创建带有元素的列表
# l2 = [1, 2, 3, 4, "python", 2.2]
# print(l2)
# print(type(l2))
#
#
#
# # 0 创建空列表
# ll = list()
# print(ll)
# # 1 转化字符串
# l3 = list("hellp")
# print(l3)
# # 2 转化元组
# t1 = tuple("hello")
# l4 = list(t1)
# print(l4)
# # 3 转化rang函数
# r1 = range(5)   # 0 1 2 3 4
# l5 = list(r1)
# print(l5)
#
#
# # 访问列表中的元素
# # 使用索引访问元素示例：
# # 使用索引访问列表中的摸个元素
# # 使用索引访问列表中的元素
# L1 = ['p', 'y', 't', 'y', 'h', 'q', 'w']
# # 访问，使用正向索引
# print(L1[4])
# # 访问，使用反向索引
# print(L1[-5])
#
#
# # 使用切片形式访问列表中的元素
# L2 = ['p', 'y', 't', 's', 'h', 'q', 'w']
# # 使用正数切片，截取索引为2,3,4的元素，默认步长为1
# print(L2[2:5])
# # 取索引3-5的元素，末尾不用写
# print(L2[3:])
# # 取索引0-2的元素，开头不用写
# print(L2[:3])
# # 取索引1-5，步长2
# print(L2[1::2])
# # 使用负切片，  取后三个元素
# print(L2[-3:])
# # 使用负切片，取-5——-1，步长是2的元素
# print(L2[-5:-1:2])
#
#
#
#
# # 遍历列表
# # list1 = [1 ,2 ,3 ,4]
# # 使用for循环遍历列表
# # for item in list1：
# #           print(item)
# l3 = [1, 2, 3, 4, 5, 6]
# for i in l3:
#     print(i)
#
#
# # 修改列表元素
# # 修改单个元素
# l4 = [10, 56, 34, 2, 56, 44, 7]
# # 将索引为2的元素值修改为100
# l4[2] = 100
# print(l4)
#
# # 修改多个元素
# l5 = [10, 56, 34, 2, 56, 44, 7]
# # 修改第1~4个元素的值（不包括第四个元素）
# l5[1:4:1] = [45, -56, 98]
# print(l5)
#
#
# # 列表中添加元素
# # 1、append（）用于在列表的末尾追加元素
# l6 = ['a', 'b', 'c']
# l6.append('f')
# print(l6)
# # 列表添加列表
# l6.append('e', 'f')
# print(l6)
#
#
# # 2、extend()在列表的末尾添加多个元素
# l13 = ['a', 'b', 'c']
# l13.extend('d')
# print(l13)
# # 添加列表
# l13.extend(['e', 'f', 'g', 'h'])
# print(l13)
# l13.extend('world')
# print(l13)
#
#
#
# #  3、insert（）在列表的特定位置添加想要添加的特定元素
# l14 = ['python', 'c', 'java']
# # 插入元素，在索引为2处插入go元素
# l14.insert(2, 'go')
# print(l14)
#
#
#
# # 删除元素
# # remove删除：remove（）方法是一出掉列表里面的特定元素，但只会删除第一个和指定值相同的元素，而且必须保证该元素是存在的，否则会引发 valueError 错误
# l15 = ['a', 'b', 'c', 'd']
# l15.remove('a')
# print(l15)
#
#
# # pop（）方法用来删除列表中指定索引处的元素
# l16 = [10, 56, 34, 2, 56, 44, 7]
# # 删除索引为3的元素
# l16.pop(3)
# print(l16)
# # 删除最后一个元素
# l16.pop()
# print(l16)
# l16 = [1, 3, 4, 5, 6, 7, 8, 9]
# l16.pop(4)
# print(l16)
# l16.pop()
# print(l16)
#
#
# # del 可以用来删除列表中单个元素或者一段连续的元素
# l17 = ['a', 'b', 'c', 'd', 'e']
# # 删除索引为1的元素
# del l17[1]
# print(l17)
# l18 = [10, 56, 34, 2, 58, 44, 7]
# # 删除索引为1-3的元素
# del l18[1:4]
# print(l18)
# # 删除单个元素
# l17=[1, 4, 8, 5, 6, 3, 2]
# del l17[5]
# print(l17)
# # 删除8 5 6 这三个元素
# del l17[2:5]
# print(l17)
#
# # 若将列表中所有元素全部删除，可使用列表的clear（）方法
# l19 = ['a', 'b', 'c', 'a']
# # 清空列表
# l19.clear()
# print(l19)
# l18 = [5, 'a', 8, 'python', 9, 5]
# l18.clear()
# print(l18)
#
#
# # 任务
# # 创建两个空列表name list 和phon-list，用于储存联系人姓名和电话、
# # 向列表中添加联系人信息：
# # 输入联系人编号修改信息：
# # 输入联系人编号删除信息：
# # 使用clear（）清空通讯录。name-list=【张三，李四，王五，maliu】，phone-list=【123,234,258,598】
# name_list = []
# phone_list = []
# while 1:
#     phint('菜单：1.添加联系人 2、修改联系人 3、删除联系人')
#     chioce = input("请输入选择")
#     # 1. 添加联系人，包括姓名，手机号
#     if chioce == '1':
#         name_list.append(input("请输入联系人姓名"))
#         phone_list.append(input("请输入联系人手机号"))
#         print(name_list)
#         print(phone_list)
#     # 2.修改联系人信息
#     elif chioce == "2":
#         num = int(input("请输入联系人编号"))
#         if len(name_list) > 0 and num <= len(name_list)
#             name_list[num - 1] = input("修改联系人姓名")
#             phone_list[num - 1] = input("修改联系电话")
#         else:
#             print("联系人编号输入有误")
#         # 3.删除联系人信息
#     elif chioce =="3":
#         num = int(input("请输入联系人编号："))
#         if len(name_list) > 0 and num <=len(name_list):
#             name_list.pop(num-1)
#             phone_list.pop(num - 1)
#         else:
#             print("联系人编号输入有误")
#     else:
#         print("显示联系人信息")
#         print(name_list)
#         print(phone_list)
#
#
# # 查找元素 index（）
# ls1 = [1, 3, 5, 7, 'a', 'b', 8, 3, 'b',2]
# print(ls1.index(3))
# print(ls1.index('b', 6))
# print(ls1.index('b', 6, 9))
# print(ls1.index(0))
#
#
# # count() 方法用来统计某个元素在列表中出现的次数 列表名。count（统计的value元素）
# ls2 = [1, 3, 5, 7, 'a', 'b', 8, 3, 'b',2, 5, 5, 7, 1]
# print(ls2.count(5))
# print(ls2.count(0))
# print(ls2.count('b'))
#
#
# # 元素排序 sort（）函数用于原列表进行排序，如果指定参数，则使用指定的比较函数，
# # 语法格式为：ls。sort（key=nome， reverse=false）
# # 1、元素是字符串的排序
# ls3 = ['1', '3', '44', '23', '99', '88', '56']
# # 默认升序
# ls3.sort()
# print(ls3)
# # 降序 reverse=true
# ls3.sort(reverse=True)
# print(ls3)
#
# # 2、元素是数值的排序
# ls4 = [1, 3, 44, 23, 99, 88, 56]
# # 默认升序
# ls4.sort()
# print(ls4)
# # 降序 reverse=true
# ls4.sort(reverse=True)
# print(ls4)


# 字典的创建
# 1、使用{}创建字典语法格式:
# 字典名 = {'key1':'value1', 'key2':'value2',...,'keyn':valuen}
# 使用字符串作为key
# d1 = {'数学': 95, '英语': 90, '语文': 80}
# print(type(d1))
# 使用元祖和数字作为key
# d2 = {(20, 30): 'great', 30:[1, 2, 3]}
# print(type(d2))
# 创建空元祖
# d3 = {}
# print(d3)14
#
# # 2、用dict（）方法通过关键字的参数来创建字典格式：
# #字典名= dict（str=value1， sty2=value2， str3=value3）
# d4 = dict(数学=90, 语文=89, 英语=88 )
# print(d4)
#
#
# # 字典元素的访问
# # 1、字典名key
# d5 = {'数学': 95, '英语': 92, '语文': 84, }
# 键存在，返回值是value
# print(d5['英语'])
# 键不存在，会引发一个keyerror错误
# print(d5['Python'])
# #
# # 2、get()方法来获取指定魔法键对应的值，语法格式：字典名.get(key[default])
# d6 = {'数学': 95, '英语': 92, '语文': 84, }
# # 键存在
# print(d6.get('语文'))
# # 键不存在, 不会写default，会返回none
# print(d6.get('python'))
# print(d6.get('python', '该键不存在'))
#
# # 字典添加键值对
# d7 = {'数学': 95, '英语': 92, '语文': 84, 'python': 99}
# d7['可视化'] = 99
# print(d7)
#
# # 字典修改键值对
# d8 = {'数学': 95, '英语': 92, '语文': 84, 'python': 99}
# d8['英语'] = 100
# print(d8)
# #
# # 字典修改件值对
# d9 = {'数学': 95, '英语': 92, '语文': 84, 'python': 99}
# # 1、使用del关键字
# del d9['语文']
# print(d9)
# # 2、使用pop（）方法
# d9.pop('英语')
# print(d9)
